package com.qkjia.edu;

/**
 * @author zhaoqiankun
 * @since 2021-12-27 1:10
 * 模板⽅法模式
 * 模板⽅法模式是指定义⼀个算法的⻣架，并允许⼦类为⼀个或者多个步骤提供实现。模板⽅法模式
 * 使得⼦类可以在不改变算法结构的情况下，重新定义算法的某些步骤，属于⾏为型设计模式。
 * 采⽤模板⽅法模式的核⼼思路是处理某个流程的代码已经具备，但其中某些节点的代码暂时不能确
 * 定。此时可以使⽤模板⽅法。
 * 示例
 */
public abstract class Interview {

    private final void register() {
        System.out.println("⾯试登记");
    }

    protected abstract void communicate();

    private final void notifyResult() {
        System.out.println("HR⼩姐姐通知⾯试结果");
    }

    protected final void process() {
        this.register();
        this.communicate();
        this.notifyResult();
    }

}
